home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Scope / Scope Disk #084 (199x)(Scope PD)(US)[WB].zip / Scope Disk #084 (199x)(Scope PD)(US)[WB].adf / Toggrx / toggrx.s < prev   
Text File  |  1989-06-24  |  3KB  |  153 lines

  1.     section    begin,code
  2. evenpc    macro
  3.     cnop    0,2
  4.     endm
  5. openlib    equ    $fffffdd8
  6. closlib    equ    $fffffe62
  7. sysbase    equ    $4
  8. output    equ    $ffffffc4
  9. write    equ    $ffffffd0
  10. delay    equ    $ffffff3a
  11. secd    equ    50    
  12.     jmp    start
  13.     section    datii,data
  14.     dc.b    'Sorry couldn''t keep it under one Block so I''ll '
  15.     dc.b    'just give credits here: Written by Marc Hidalgo '
  16.     dc.b    'in the Netherlands. This program is designed to help '
  17.     dc.b    'out us PAL users with Brain Damaged NTSC developers '
  18.     dc.b    'not letting their software be loaded on our machines. '
  19.     dc.b    'also certain games and programs lock us into ntsc mode '
  20.     dc.b    'and this program will clear the lock after using '
  21.     dc.b    'these type programs.'
  22.     evenpc
  23. dosbase    dc.l    0
  24. grafb    dc.l    0
  25. cmdpnt    dc.l    0
  26. cmdlen    dc.l    0
  27. safsp    dc.l    0
  28. conout    dc.l    0
  29.     evenpc
  30. graf    dc.b    'graphics.library'
  31.     dc.l    0
  32.     evenpc
  33. dosname    dc.b    'dos.library'
  34.     dc.b    0
  35.     evenpc
  36. switch    dc.w    0
  37.     evenpc
  38. p2n    dc.b    'Toggle PAL to NTSC',10,0
  39.     evenpc
  40. p2ne    equ    *-p2n
  41. n2p    dc.b    'Toggle NTSC to PAL',10,10,0
  42.     evenpc
  43. n2pe    equ    *-n2p
  44. nsett    dc.b    'Current '
  45. nsett1    dc.b    'Setting is NTSC',10,10,0
  46.     evenpc
  47. nsette    equ    *-nsett
  48. nsett1e    equ    *-nsett1
  49. psett    dc.b    'Current '
  50. psett1    dc.b    'Setting is PAL',10,10,0
  51.     evenpc
  52. psette    equ    *-psett
  53. psett1e    equ    *-psett1
  54.     evenpc
  55.     section    real,code
  56. start:    
  57.     move.l    d0,cmdlen
  58.     move.l    a0,cmdpnt
  59.     move.l    sp,safsp
  60.     cmpi.b    #'?',(a0)
  61.     beq    showset
  62.     cmpi.b    #'p',(a0)
  63.     beq    to_pal
  64.     cmpi.b    #'P',(a0)
  65.     beq    to_pal
  66.     cmpi.b    #'n',(a0)
  67.     beq    to_ntsc
  68.     cmpi.b    #'N',(a0)
  69.     beq    to_ntsc
  70.     bra    toggle
  71. cont:    move.l    sysbase,a6
  72.     moveq    #0,d0
  73.     lea.l    dosname,a1
  74.     jsr    openlib(a6)
  75.     move.l    d0,dosbase
  76.     move.l    dosbase,a5
  77.     jsr    output(a5)
  78.     move.l    d0,conout
  79.     moveq.l    #33,d0
  80.     lea.l    graf,a1
  81.     jsr    openlib(a6)
  82.     move.l    d0,grafb
  83.     move.l    grafb,a1
  84.     move.w    206(a1),d0
  85.     move.w    switch,d3
  86.     tst.w    d3
  87.     beq    rptd0
  88.     cmpi.b    #2,d3
  89.     bgt.s    cont1
  90.     beq.s    snt
  91.     bra.s    spal
  92. cont1:    tst.w    d0
  93.     beq.s    spal
  94.     move.w    #4,switch
  95. snt:    clr.w    d0
  96.     move.w    d0,206(a1)
  97.     move.w    #200,216(a1)
  98.     bra.s    finis
  99. spal:    ori.w    #4,d0
  100.     move.w    d0,206(a1)
  101.     move.w    #256,216(a1)
  102. finis:    move.w    switch,d2
  103.     cmpi.b    #3,d2
  104.     beq.s    n2pr
  105.     blt.s    wset
  106.     move.l    #p2n,d2
  107.     move.l    #p2ne,d3
  108.     bra.s    disp
  109. wset:    cmpi.b    #1,d2
  110.     beq.s    wset1
  111.     move.l    #nsett1,d2
  112.     move.l    #nsett1e,d3
  113.     bra.s    disp
  114. wset1:    move.l    #psett1,d2
  115.     move.l    #psett1e,d3
  116.     bra.s    disp
  117. n2pr:    move.l    #n2p,d2
  118.     move.l    #n2pe,d3
  119. disp:    move.l    dosbase,a5
  120.     move.l    conout,d1
  121.     jsr    write(a5)
  122.     move.l    sysbase,a6
  123.     move.l    grafb,a1
  124.     jsr    closlib(a6)
  125.     move.l    dosbase,a1
  126.     jsr    closlib(a6)
  127.     move.l    safsp,sp
  128.     moveq    #0,d0
  129.     rts
  130. showset:
  131.     move.w    #0,switch
  132.     bra    cont
  133. to_pal:
  134.     move.w    #1,switch
  135.     bra    cont
  136. to_ntsc:
  137.     move.w    #2,switch
  138.     bra    cont
  139. toggle:
  140.     move.w    #3,switch
  141.     bra    cont
  142. rptd0:
  143.     tst.w    d0
  144.     bne.s    rptd0a
  145.     move.l    #nsett,d2
  146.     move.l    #nsette,d3
  147.     bra    disp
  148. rptd0a:    move.l    #psett,d2
  149.     move.l    #psette,d3
  150.     bra    disp
  151.     section    evenitout,bss
  152.     end
  153.